package mz.behaveas.runner {
	import mz.behaveas.model.spec.SpecRunListener;

	/**
	 * Implementation of SpecRunListener for output in the console.
	 * 
	 * @author maxim.zaks@gmail.com
	 */
	public class TraceReporter implements SpecRunListener {

		
		
		public function expectationDone(report : String) : void {
			trace("   " + report);
		}

		public function expectationStarted(description : String, index : int) : void {
			trace("Expectation "+ index + ":  " + description);
		}

		public function specIsMalformed(report : String) : void {
			trace(report);
		}
		
		public function expectationFiredError(error : Error) : void {
			trace(error.getStackTrace());
		}
		
		public function expectationFailed(expectationIndex : int) : void {
			// TODO
		}
		
		public function startReport(length : int) : void {
			// TODO
		}
		
		public function runSpec(description : String, specIndex : int) : void {
			// TODO
		}
		
		public function specReport(report : String) : void {
			// TODO
		}
		
		public function endReport(numberOfExpectations : int, notCorrectExpectations : int, miliSeconds : Number) : void {
			trace("Run " + numberOfExpectations + " expectations. " + notCorrectExpectations + " expectations are not correct. In " + miliSeconds + "ms");
		}
	}
}
